Skip to content

feat: adding support for multiqueue#650

Open
drew-viles wants to merge 2 commits intoionos-cloud:mainfrom
drew-viles:network-multiqueue
Open

feat: adding support for multiqueue#650
drew-viles wants to merge 2 commits intoionos-cloud:mainfrom
drew-viles:network-multiqueue

Conversation

@drew-viles
Copy link
Copy Markdown

Issue #, if available:
#501

Description of changes:
Right now, users cannot add queues to the network NIC. With this PR, users will now be able to optionally supply a value into the CAPI provider to configure queues.

Testing performed:
Added tests for make test and ran with success. I'm currently trying to get access to a proxmox with shared storage as it appears to be required for this where as right now, I'm using local storage.

If you want to wait for that testing to be done on my side I totally get it! However, the change seems pretty straight forward on the whole so I'll let you make the call from your side.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 2, 2026

Tests

Please note that running unit and e2e tests requires manual approval from a team member.

e2e tests

We use labels to control which e2e tests contexts are run:

Label Behaviour
none Run Generic tests only
e2e/none skip all e2e tests (documentation etc) - overrides all e2e/* labels Do not run any e2e tests
e2e/flatcar run Flatcar e2e tests Add Flatcar tests

ℹ️ Ask a team member to add the requested labels if you don't have enough permissions.

@wikkyk
Copy link
Copy Markdown
Collaborator

wikkyk commented Mar 3, 2026

Nice and simple change but we'll hold it for now until after we have released 0.8.0 and v1alpha2.

Copy link
Copy Markdown
Collaborator

@wikkyk wikkyk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please port this to v1alpha2!
Remember to update the tests with the correct type, too.

Comment thread api/v1alpha1/proxmoxmachine_types.go Outdated
Comment thread api/v1alpha1/proxmoxmachine_types.go Outdated
Comment thread internal/service/vmservice/utils.go Outdated
Comment thread internal/service/vmservice/utils.go Outdated
Comment thread internal/service/vmservice/utils.go Outdated
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Apr 1, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
14 Security Hotspots
31.2% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@drew-viles
Copy link
Copy Markdown
Author

Sorry absolutely slammed atm, I will pick this up again asap though

@wikkyk
Copy link
Copy Markdown
Collaborator

wikkyk commented Apr 10, 2026

v0.8.0 has been released so we are reopening feature merges. Please port your PR to v1alpha2 and address my comments and we'll do another review. This is a good feature, I would really like it to go in.

@drew-viles
Copy link
Copy Markdown
Author

I'll looks at getting it done this weekend. Time has been not been on my side the past few weeks.

@drew-viles
Copy link
Copy Markdown
Author

ok, I think I've got everything covered, make test is working nicely again so let me know if you have any thoughts on this.

})

Context("Queues", func() {
It("Should not allow machine with network device queue equal to 0", func() {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a test for >65535, a test for 0<queues<65536, and a test for nil.

// example 'virtio,bridge=vmbr0,tag=100'.
func formatNetworkDevice(model, bridge string, mtu *int32, vlan *int32) string {
// example 'virtio,bridge=vmbr0,tag=100,queues=4'.
func formatNetworkDevice(model, bridge string, mtu *int32, vlan *int32, queues int32) string {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This function takes pointers to optional values, please follow that pattern.

Copy link
Copy Markdown
Collaborator

@wikkyk wikkyk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also please note the linter failures.

Right now, users cannot add queues to the network NIC. With this PR, users will now be able to optionally supply a value into the CAPI provider to configure queues.
@wikkyk wikkyk force-pushed the network-multiqueue branch from aafde41 to 609d7e0 Compare April 28, 2026 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants